package com.yanqu.road.entity.log.gashapon;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.log.ServerBaseLog;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Author : Cxp
 * @Time : 2024-10-25
 * @Description : 幸运扭蛋-抽奖 埋点
 */

@FieldTypeAnnotation(tableName = "t_l_activity_gashapon_draw", desc = "幸运扭蛋-抽奖", autoSave = true, uploadCk = true,
        dataUpload = true, eventName = "luckegg_draw")
public class LogGashaponDraw extends ServerBaseLog {
    @FieldTypeAnnotation(desc = "活动ID", isIndex = true, dataAttribute = "activityid")
    private int activityId;
    @FieldTypeAnnotation(desc = "玩家ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "抽数", dataAttribute = "luckegg_drawnum")
    private int drawCnt;
    @FieldTypeAnnotation(desc = "当前剩余保底次数", dataAttribute = "luckegg_floor")
    private int numToGuarantee;
    @FieldTypeAnnotation(desc = "是否抽到非凡品质", dataAttribute = "luckegg_isouts")
    private boolean isExtraOrdinary;
    @FieldTypeAnnotation(desc = "是否抽到极品品质", dataAttribute = "luckegg_istop")
    private boolean isExcellent;
    @FieldTypeAnnotation(desc = "获得积分", dataAttribute = "luckegg_score")
    private long score;
    @FieldTypeAnnotation(desc = "当前积分", dataAttribute = "luckegg_nowscore")
    private long totalScore;
    @FieldTypeAnnotation(desc = "获得道具奖励", dataAttribute = "luckegg_get", saveJson = true)
    private List<Map<String, Object>> reward;
    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    @Override
    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getDrawCnt() {
        return drawCnt;
    }

    public void setDrawCnt(int drawCnt) {
        this.drawCnt = drawCnt;
    }

    public int isNumToGuarantee() {
        return numToGuarantee;
    }

    public void setNumToGuarantee(int numToGuarantee) {
        this.numToGuarantee = numToGuarantee;
    }

    public boolean isExtraOrdinary() {
        return isExtraOrdinary;
    }

    public void setExtraOrdinary(boolean extraOrdinary) {
        isExtraOrdinary = extraOrdinary;
    }

    public boolean isExcellent() {
        return isExcellent;
    }

    public void setExcellent(boolean excellent) {
        isExcellent = excellent;
    }

    public long getScore() {
        return score;
    }

    public void setScore(long score) {
        this.score = score;
    }

    public long getTotalScore() {
        return totalScore;
    }

    public void setTotalScore(long totalScore) {
        this.totalScore = totalScore;
    }

    public List<Map<String, Object>> getReward() {
        return reward;
    }

    public void setReward(List<Map<String, Object>> reward) {
        this.reward = reward;
    }

    public Date getLogTime() {
        return logTime;
    }

    public void setLogTime(Date logTime) {
        this.logTime = logTime;
    }
}
